<?php

class td_google_fonts {
    static $font_sections;
    static $font_section_id = 66; //unique section id for theme customizer
    static $loaded_google_fonts = array();

    static $font_list = array (
        0 => 'ABeeZee:regular,italic&subset=latin',
        1 => 'Abel:regular&subset=latin',
        2 => 'Abril+Fatface:regular&subset=latin,latin-ext',
        3 => 'Aclonica:regular&subset=latin',
        4 => 'Acme:regular&subset=latin',
        5 => 'Actor:regular&subset=latin',
        6 => 'Adamina:regular&subset=latin',
        7 => 'Advent+Pro:100,200,300,regular,500,600,700&subset=greek,latin,latin-ext',
        8 => 'Aguafina+Script:regular&subset=latin,latin-ext',
        9 => 'Akronim:regular&subset=latin,latin-ext',
        10 => 'Aladin:regular&subset=latin,latin-ext',
        11 => 'Aldrich:regular&subset=latin',
        12 => 'Alef:regular,700&subset=latin',
        13 => 'Alegreya:regular,italic,700,700italic,900,900italic&subset=latin,latin-ext',
        14 => 'Alegreya+SC:regular,italic,700,700italic,900,900italic&subset=latin,latin-ext',
        15 => 'Alex+Brush:regular&subset=latin,latin-ext',
        16 => 'Alfa+Slab+One:regular&subset=latin',
        17 => 'Alice:regular&subset=latin',
        18 => 'Alike:regular&subset=latin',
        19 => 'Alike+Angular:regular&subset=latin',
        20 => 'Allan:regular,700&subset=latin,latin-ext',
        21 => 'Allerta:regular&subset=latin',
        22 => 'Allerta+Stencil:regular&subset=latin',
        23 => 'Allura:regular&subset=latin,latin-ext',
        24 => 'Almendra:regular,italic,700,700italic&subset=latin,latin-ext',
        25 => 'Almendra+Display:regular&subset=latin,latin-ext',
        26 => 'Almendra+SC:regular&subset=latin',
        27 => 'Amarante:regular&subset=latin,latin-ext',
        28 => 'Amaranth:regular,italic,700,700italic&subset=latin',
        29 => 'Amatic+SC:regular,700&subset=latin',
        30 => 'Amethysta:regular&subset=latin',
        31 => 'Anaheim:regular&subset=latin,latin-ext',
        32 => 'Andada:regular&subset=latin,latin-ext',
        33 => 'Andika:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        34 => 'Angkor:regular&subset=khmer',
        35 => 'Annie+Use+Your+Telescope:regular&subset=latin',
        36 => 'Anonymous+Pro:regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        37 => 'Antic:regular&subset=latin',
        38 => 'Antic+Didone:regular&subset=latin',
        39 => 'Antic+Slab:regular&subset=latin',
        40 => 'Anton:regular&subset=latin,latin-ext',
        41 => 'Arapey:regular,italic&subset=latin',
        42 => 'Arbutus:regular&subset=latin,latin-ext',
        43 => 'Arbutus+Slab:regular&subset=latin,latin-ext',
        44 => 'Architects+Daughter:regular&subset=latin',
        45 => 'Archivo+Black:regular&subset=latin,latin-ext',
        46 => 'Archivo+Narrow:regular,italic,700,700italic&subset=latin,latin-ext',
        47 => 'Arimo:regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        48 => 'Arizonia:regular&subset=latin,latin-ext',
        49 => 'Armata:regular&subset=latin,latin-ext',
        50 => 'Artifika:regular&subset=latin',
        51 => 'Arvo:regular,italic,700,700italic&subset=latin',
        52 => 'Asap:regular,italic,700,700italic&subset=latin,latin-ext',
        53 => 'Asset:regular&subset=latin',
        54 => 'Astloch:regular,700&subset=latin',
        55 => 'Asul:regular,700&subset=latin',
        56 => 'Atomic+Age:regular&subset=latin',
        57 => 'Aubrey:regular&subset=latin',
        58 => 'Audiowide:regular&subset=latin,latin-ext',
        59 => 'Autour+One:regular&subset=latin,latin-ext',
        60 => 'Average:regular&subset=latin,latin-ext',
        61 => 'Average+Sans:regular&subset=latin,latin-ext',
        62 => 'Averia+Gruesa+Libre:regular&subset=latin,latin-ext',
        63 => 'Averia+Libre:300,300italic,regular,italic,700,700italic&subset=latin',
        64 => 'Averia+Sans+Libre:300,300italic,regular,italic,700,700italic&subset=latin',
        65 => 'Averia+Serif+Libre:300,300italic,regular,italic,700,700italic&subset=latin',
        66 => 'Bad+Script:regular&subset=latin,cyrillic',
        67 => 'Balthazar:regular&subset=latin',
        68 => 'Bangers:regular&subset=latin',
        69 => 'Basic:regular&subset=latin,latin-ext',
        70 => 'Battambang:regular,700&subset=khmer',
        71 => 'Baumans:regular&subset=latin',
        72 => 'Bayon:regular&subset=khmer',
        73 => 'Belgrano:regular&subset=latin',
        74 => 'Belleza:regular&subset=latin,latin-ext',
        75 => 'BenchNine:300,regular,700&subset=latin,latin-ext',
        76 => 'Bentham:regular&subset=latin',
        77 => 'Berkshire+Swash:regular&subset=latin,latin-ext',
        78 => 'Bevan:regular&subset=latin',
        79 => 'Bigelow+Rules:regular&subset=latin,latin-ext',
        80 => 'Bigshot+One:regular&subset=latin',
        81 => 'Bilbo:regular&subset=latin,latin-ext',
        82 => 'Bilbo+Swash+Caps:regular&subset=latin,latin-ext',
        83 => 'Bitter:regular,italic,700&subset=latin,latin-ext',
        84 => 'Black+Ops+One:regular&subset=latin,latin-ext',
        85 => 'Bokor:regular&subset=khmer',
        86 => 'Bonbon:regular&subset=latin',
        87 => 'Boogaloo:regular&subset=latin',
        88 => 'Bowlby+One:regular&subset=latin',
        89 => 'Bowlby+One+SC:regular&subset=latin,latin-ext',
        90 => 'Brawler:regular&subset=latin',
        91 => 'Bree+Serif:regular&subset=latin,latin-ext',
        92 => 'Bubblegum+Sans:regular&subset=latin,latin-ext',
        93 => 'Bubbler+One:regular&subset=latin,latin-ext',
        94 => 'Buda:300&subset=latin',
        95 => 'Buenard:regular,700&subset=latin,latin-ext',
        96 => 'Butcherman:regular&subset=latin,latin-ext',
        97 => 'Butterfly+Kids:regular&subset=latin,latin-ext',
        98 => 'Cabin:regular,italic,500,500italic,600,600italic,700,700italic&subset=latin',
        99 => 'Cabin+Condensed:regular,500,600,700&subset=latin',
        100 => 'Cabin+Sketch:regular,700&subset=latin',
        101 => 'Caesar+Dressing:regular&subset=latin',
        102 => 'Cagliostro:regular&subset=latin',
        103 => 'Calligraffitti:regular&subset=latin',
        104 => 'Cambo:regular&subset=latin',
        105 => 'Candal:regular&subset=latin',
        106 => 'Cantarell:regular,italic,700,700italic&subset=latin',
        107 => 'Cantata+One:regular&subset=latin,latin-ext',
        108 => 'Cantora+One:regular&subset=latin,latin-ext',
        109 => 'Capriola:regular&subset=latin,latin-ext',
        110 => 'Cardo:regular,italic,700&subset=greek,latin,greek-ext,latin-ext',
        111 => 'Carme:regular&subset=latin',
        112 => 'Carrois+Gothic:regular&subset=latin',
        113 => 'Carrois+Gothic+SC:regular&subset=latin',
        114 => 'Carter+One:regular&subset=latin',
        115 => 'Caudex:regular,italic,700,700italic&subset=greek,latin,greek-ext,latin-ext',
        116 => 'Cedarville+Cursive:regular&subset=latin',
        117 => 'Ceviche+One:regular&subset=latin',
        118 => 'Changa+One:regular,italic&subset=latin',
        119 => 'Chango:regular&subset=latin,latin-ext',
        120 => 'Chau+Philomene+One:regular,italic&subset=latin,latin-ext',
        121 => 'Chela+One:regular&subset=latin,latin-ext',
        122 => 'Chelsea+Market:regular&subset=latin,latin-ext',
        123 => 'Chenla:regular&subset=khmer',
        124 => 'Cherry+Cream+Soda:regular&subset=latin',
        125 => 'Cherry+Swash:regular,700&subset=latin,latin-ext',
        126 => 'Chewy:regular&subset=latin',
        127 => 'Chicle:regular&subset=latin,latin-ext',
        128 => 'Chivo:regular,italic,900,900italic&subset=latin',
        129 => 'Cinzel:regular,700,900&subset=latin',
        130 => 'Cinzel+Decorative:regular,700,900&subset=latin',
        131 => 'Clicker+Script:regular&subset=latin,latin-ext',
        132 => 'Coda:regular,800&subset=latin',
        133 => 'Coda+Caption:800&subset=latin',
        134 => 'Codystar:300,regular&subset=latin,latin-ext',
        135 => 'Combo:regular&subset=latin,latin-ext',
        136 => 'Comfortaa:300,regular,700&subset=greek,cyrillic-ext,latin,latin-ext,cyrillic',
        137 => 'Coming+Soon:regular&subset=latin',
        138 => 'Concert+One:regular&subset=latin,latin-ext',
        139 => 'Condiment:regular&subset=latin,latin-ext',
        140 => 'Content:regular,700&subset=khmer',
        141 => 'Contrail+One:regular&subset=latin',
        142 => 'Convergence:regular&subset=latin',
        143 => 'Cookie:regular&subset=latin',
        144 => 'Copse:regular&subset=latin',
        145 => 'Corben:regular,700&subset=latin',
        146 => 'Courgette:regular&subset=latin,latin-ext',
        147 => 'Cousine:regular,italic,700,700italic&subset=latin',
        148 => 'Coustard:regular,900&subset=latin',
        149 => 'Covered+By+Your+Grace:regular&subset=latin',
        150 => 'Crafty+Girls:regular&subset=latin',
        151 => 'Creepster:regular&subset=latin',
        152 => 'Crete+Round:regular,italic&subset=latin,latin-ext',
        153 => 'Crimson+Text:regular,italic,600,600italic,700,700italic&subset=latin',
        154 => 'Croissant+One:regular&subset=latin,latin-ext',
        155 => 'Crushed:regular&subset=latin',
        156 => 'Cuprum:regular,italic,700,700italic&subset=latin,latin-ext,cyrillic',
        157 => 'Cutive:regular&subset=latin,latin-ext',
        158 => 'Cutive+Mono:regular&subset=latin,latin-ext',
        159 => 'Damion:regular&subset=latin',
        160 => 'Dancing+Script:regular,700&subset=latin',
        161 => 'Dangrek:regular&subset=khmer',
        162 => 'Dawning+of+a+New+Day:regular&subset=latin',
        163 => 'Days+One:regular&subset=latin',
        164 => 'Delius:regular&subset=latin',
        165 => 'Delius+Swash+Caps:regular&subset=latin',
        166 => 'Delius+Unicase:regular,700&subset=latin',
        167 => 'Della+Respira:regular&subset=latin',
        168 => 'Denk+One:regular&subset=latin,latin-ext',
        169 => 'Devonshire:regular&subset=latin,latin-ext',
        170 => 'Didact+Gothic:regular&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        171 => 'Diplomata:regular&subset=latin,latin-ext',
        172 => 'Diplomata+SC:regular&subset=latin,latin-ext',
        173 => 'Domine:regular,700&subset=latin,latin-ext',
        174 => 'Donegal+One:regular&subset=latin,latin-ext',
        175 => 'Doppio+One:regular&subset=latin,latin-ext',
        176 => 'Dorsa:regular&subset=latin',
        177 => 'Dosis:200,300,regular,500,600,700,800&subset=latin,latin-ext',
        178 => 'Dr+Sugiyama:regular&subset=latin,latin-ext',
        179 => 'Droid+Sans:regular,700&subset=latin',
        180 => 'Droid+Sans+Mono:regular&subset=latin',
        181 => 'Droid+Serif:regular,italic,700,700italic&subset=latin',
        182 => 'Duru+Sans:regular&subset=latin,latin-ext',
        183 => 'Dynalight:regular&subset=latin,latin-ext',
        184 => 'EB+Garamond:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic,vietnamese',
        185 => 'Eagle+Lake:regular&subset=latin,latin-ext',
        186 => 'Eater:regular&subset=latin,latin-ext',
        187 => 'Economica:regular,italic,700,700italic&subset=latin,latin-ext',
        188 => 'Electrolize:regular&subset=latin',
        189 => 'Elsie:regular,900&subset=latin,latin-ext',
        190 => 'Elsie+Swash+Caps:regular,900&subset=latin,latin-ext',
        191 => 'Emblema+One:regular&subset=latin,latin-ext',
        192 => 'Emilys+Candy:regular&subset=latin,latin-ext',
        193 => 'Engagement:regular&subset=latin',
        194 => 'Englebert:regular&subset=latin,latin-ext',
        195 => 'Enriqueta:regular,700&subset=latin,latin-ext',
        196 => 'Erica+One:regular&subset=latin',
        197 => 'Esteban:regular&subset=latin,latin-ext',
        198 => 'Euphoria+Script:regular&subset=latin,latin-ext',
        199 => 'Ewert:regular&subset=latin,latin-ext',
        200 => 'Exo:100,100italic,200,200italic,300,300italic,regular,italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&subset=latin,latin-ext',
        201 => 'Expletus+Sans:regular,italic,500,500italic,600,600italic,700,700italic&subset=latin',
        202 => 'Fanwood+Text:regular,italic&subset=latin',
        203 => 'Fascinate:regular&subset=latin',
        204 => 'Fascinate+Inline:regular&subset=latin',
        205 => 'Faster+One:regular&subset=latin',
        206 => 'Fasthand:regular&subset=khmer',
        207 => 'Fauna+One:regular&subset=latin,latin-ext',
        208 => 'Federant:regular&subset=latin',
        209 => 'Federo:regular&subset=latin',
        210 => 'Felipa:regular&subset=latin,latin-ext',
        211 => 'Fenix:regular&subset=latin,latin-ext',
        212 => 'Finger+Paint:regular&subset=latin',
        213 => 'Fjalla+One:regular&subset=latin,latin-ext',
        214 => 'Fjord+One:regular&subset=latin',
        215 => 'Flamenco:300,regular&subset=latin',
        216 => 'Flavors:regular&subset=latin',
        217 => 'Fondamento:regular,italic&subset=latin,latin-ext',
        218 => 'Fontdiner+Swanky:regular&subset=latin',
        219 => 'Forum:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        220 => 'Francois+One:regular&subset=latin,latin-ext',
        221 => 'Freckle+Face:regular&subset=latin,latin-ext',
        222 => 'Fredericka+the+Great:regular&subset=latin',
        223 => 'Fredoka+One:regular&subset=latin',
        224 => 'Freehand:regular&subset=khmer',
        225 => 'Fresca:regular&subset=latin,latin-ext',
        226 => 'Frijole:regular&subset=latin',
        227 => 'Fruktur:regular&subset=latin,latin-ext',
        228 => 'Fugaz+One:regular&subset=latin',
        229 => 'GFS+Didot:regular&subset=greek',
        230 => 'GFS+Neohellenic:regular,italic,700,700italic&subset=greek',
        231 => 'Gabriela:regular&subset=latin,latin-ext',
        232 => 'Gafata:regular&subset=latin,latin-ext',
        233 => 'Galdeano:regular&subset=latin',
        234 => 'Galindo:regular&subset=latin,latin-ext',
        235 => 'Gentium+Basic:regular,italic,700,700italic&subset=latin,latin-ext',
        236 => 'Gentium+Book+Basic:regular,italic,700,700italic&subset=latin,latin-ext',
        237 => 'Geo:regular,italic&subset=latin',
        238 => 'Geostar:regular&subset=latin',
        239 => 'Geostar+Fill:regular&subset=latin',
        240 => 'Germania+One:regular&subset=latin',
        241 => 'Gilda+Display:regular&subset=latin,latin-ext',
        242 => 'Give+You+Glory:regular&subset=latin',
        243 => 'Glass+Antiqua:regular&subset=latin,latin-ext',
        244 => 'Glegoo:regular&subset=latin,latin-ext',
        245 => 'Gloria+Hallelujah:regular&subset=latin',
        246 => 'Goblin+One:regular&subset=latin',
        247 => 'Gochi+Hand:regular&subset=latin',
        248 => 'Gorditas:regular,700&subset=latin',
        249 => 'Goudy+Bookletter+1911:regular&subset=latin',
        250 => 'Graduate:regular&subset=latin',
        251 => 'Grand+Hotel:regular&subset=latin,latin-ext',
        252 => 'Gravitas+One:regular&subset=latin',
        253 => 'Great+Vibes:regular&subset=latin,latin-ext',
        254 => 'Griffy:regular&subset=latin,latin-ext',
        255 => 'Gruppo:regular&subset=latin,latin-ext',
        256 => 'Gudea:regular,italic,700&subset=latin,latin-ext',
        257 => 'Habibi:regular&subset=latin,latin-ext',
        258 => 'Hammersmith+One:regular&subset=latin,latin-ext',
        259 => 'Hanalei:regular&subset=latin,latin-ext',
        260 => 'Hanalei+Fill:regular&subset=latin,latin-ext',
        261 => 'Handlee:regular&subset=latin',
        262 => 'Hanuman:regular,700&subset=khmer',
        263 => 'Happy+Monkey:regular&subset=latin,latin-ext',
        264 => 'Headland+One:regular&subset=latin,latin-ext',
        265 => 'Henny+Penny:regular&subset=latin',
        266 => 'Herr+Von+Muellerhoff:regular&subset=latin,latin-ext',
        267 => 'Holtwood+One+SC:regular&subset=latin',
        268 => 'Homemade+Apple:regular&subset=latin',
        269 => 'Homenaje:regular&subset=latin,latin-ext',
        270 => 'IM+Fell+DW+Pica:regular,italic&subset=latin',
        271 => 'IM+Fell+DW+Pica+SC:regular&subset=latin',
        272 => 'IM+Fell+Double+Pica:regular,italic&subset=latin',
        273 => 'IM+Fell+Double+Pica+SC:regular&subset=latin',
        274 => 'IM+Fell+English:regular,italic&subset=latin',
        275 => 'IM+Fell+English+SC:regular&subset=latin',
        276 => 'IM+Fell+French+Canon:regular,italic&subset=latin',
        277 => 'IM+Fell+French+Canon+SC:regular&subset=latin',
        278 => 'IM+Fell+Great+Primer:regular,italic&subset=latin',
        279 => 'IM+Fell+Great+Primer+SC:regular&subset=latin',
        280 => 'Iceberg:regular&subset=latin',
        281 => 'Iceland:regular&subset=latin',
        282 => 'Imprima:regular&subset=latin,latin-ext',
        283 => 'Inconsolata:regular,700&subset=latin,latin-ext',
        284 => 'Inder:regular&subset=latin,latin-ext',
        285 => 'Indie+Flower:regular&subset=latin',
        286 => 'Inika:regular,700&subset=latin,latin-ext',
        287 => 'Irish+Grover:regular&subset=latin',
        288 => 'Istok+Web:regular,italic,700,700italic&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        289 => 'Italiana:regular&subset=latin',
        290 => 'Italianno:regular&subset=latin,latin-ext',
        291 => 'Jacques+Francois:regular&subset=latin',
        292 => 'Jacques+Francois+Shadow:regular&subset=latin',
        293 => 'Jim+Nightshade:regular&subset=latin,latin-ext',
        294 => 'Jockey+One:regular&subset=latin,latin-ext',
        295 => 'Jolly+Lodger:regular&subset=latin,latin-ext',
        296 => 'Josefin+Sans:100,100italic,300,300italic,regular,italic,600,600italic,700,700italic&subset=latin',
        297 => 'Josefin+Slab:100,100italic,300,300italic,regular,italic,600,600italic,700,700italic&subset=latin',
        298 => 'Joti+One:regular&subset=latin,latin-ext',
        299 => 'Judson:regular,italic,700&subset=latin',
        300 => 'Julee:regular&subset=latin',
        301 => 'Julius+Sans+One:regular&subset=latin,latin-ext',
        302 => 'Junge:regular&subset=latin',
        303 => 'Jura:300,regular,500,600&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        304 => 'Just+Another+Hand:regular&subset=latin',
        305 => 'Just+Me+Again+Down+Here:regular&subset=latin,latin-ext',
        306 => 'Kameron:regular,700&subset=latin',
        307 => 'Karla:regular,italic,700,700italic&subset=latin,latin-ext',
        308 => 'Kaushan+Script:regular&subset=latin,latin-ext',
        309 => 'Kavoon:regular&subset=latin,latin-ext',
        310 => 'Keania+One:regular&subset=latin,latin-ext',
        311 => 'Kelly+Slab:regular&subset=latin,latin-ext,cyrillic',
        312 => 'Kenia:regular&subset=latin',
        313 => 'Khmer:regular&subset=khmer',
        314 => 'Kite+One:regular&subset=latin',
        315 => 'Knewave:regular&subset=latin,latin-ext',
        316 => 'Kotta+One:regular&subset=latin,latin-ext',
        317 => 'Koulen:regular&subset=khmer',
        318 => 'Kranky:regular&subset=latin',
        319 => 'Kreon:300,regular,700&subset=latin',
        320 => 'Kristi:regular&subset=latin',
        321 => 'Krona+One:regular&subset=latin,latin-ext',
        322 => 'La+Belle+Aurore:regular&subset=latin',
        323 => 'Lancelot:regular&subset=latin',
        324 => 'Lato:100,100italic,300,300italic,regular,italic,700,700italic,900,900italic&subset=latin',
        325 => 'League+Script:regular&subset=latin',
        326 => 'Leckerli+One:regular&subset=latin',
        327 => 'Ledger:regular&subset=latin,latin-ext,cyrillic',
        328 => 'Lekton:regular,italic,700&subset=latin,latin-ext',
        329 => 'Lemon:regular&subset=latin',
        330 => 'Libre+Baskerville:regular,italic,700&subset=latin,latin-ext',
        331 => 'Life+Savers:regular,700&subset=latin,latin-ext',
        332 => 'Lilita+One:regular&subset=latin,latin-ext',
        333 => 'Lily+Script+One:regular&subset=latin,latin-ext',
        334 => 'Limelight:regular&subset=latin,latin-ext',
        335 => 'Linden+Hill:regular,italic&subset=latin',
        336 => 'Lobster:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        337 => 'Lobster+Two:regular,italic,700,700italic&subset=latin',
        338 => 'Londrina+Outline:regular&subset=latin',
        339 => 'Londrina+Shadow:regular&subset=latin',
        340 => 'Londrina+Sketch:regular&subset=latin',
        341 => 'Londrina+Solid:regular&subset=latin',
        342 => 'Lora:regular,italic,700,700italic&subset=latin',
        343 => 'Love+Ya+Like+A+Sister:regular&subset=latin',
        344 => 'Loved+by+the+King:regular&subset=latin',
        345 => 'Lovers+Quarrel:regular&subset=latin,latin-ext',
        346 => 'Luckiest+Guy:regular&subset=latin',
        347 => 'Lusitana:regular,700&subset=latin',
        348 => 'Lustria:regular&subset=latin',
        349 => 'Macondo:regular&subset=latin',
        350 => 'Macondo+Swash+Caps:regular&subset=latin',
        351 => 'Magra:regular,700&subset=latin,latin-ext',
        352 => 'Maiden+Orange:regular&subset=latin',
        353 => 'Mako:regular&subset=latin',
        354 => 'Marcellus:regular&subset=latin,latin-ext',
        355 => 'Marcellus+SC:regular&subset=latin,latin-ext',
        356 => 'Marck+Script:regular&subset=latin,latin-ext,cyrillic',
        357 => 'Margarine:regular&subset=latin,latin-ext',
        358 => 'Marko+One:regular&subset=latin',
        359 => 'Marmelad:regular&subset=latin,latin-ext,cyrillic',
        360 => 'Marvel:regular,italic,700,700italic&subset=latin',
        361 => 'Mate:regular,italic&subset=latin',
        362 => 'Mate+SC:regular&subset=latin',
        363 => 'Maven+Pro:regular,500,700,900&subset=latin',
        364 => 'McLaren:regular&subset=latin,latin-ext',
        365 => 'Meddon:regular&subset=latin',
        366 => 'MedievalSharp:regular&subset=latin,latin-ext',
        367 => 'Medula+One:regular&subset=latin',
        368 => 'Megrim:regular&subset=latin',
        369 => 'Meie+Script:regular&subset=latin,latin-ext',
        370 => 'Merienda:regular,700&subset=latin,latin-ext',
        371 => 'Merienda+One:regular&subset=latin',
        372 => 'Merriweather:300,300italic,regular,italic,700,700italic,900,900italic&subset=latin,latin-ext',
        373 => 'Merriweather+Sans:300,300italic,regular,italic,700,700italic,800,800italic&subset=latin,latin-ext',
        374 => 'Metal:regular&subset=khmer',
        375 => 'Metal+Mania:regular&subset=latin,latin-ext',
        376 => 'Metamorphous:regular&subset=latin,latin-ext',
        377 => 'Metrophobic:regular&subset=latin',
        378 => 'Michroma:regular&subset=latin',
        379 => 'Milonga:regular&subset=latin,latin-ext',
        380 => 'Miltonian:regular&subset=latin',
        381 => 'Miltonian+Tattoo:regular&subset=latin',
        382 => 'Miniver:regular&subset=latin',
        383 => 'Miss+Fajardose:regular&subset=latin,latin-ext',
        384 => 'Modern+Antiqua:regular&subset=latin,latin-ext',
        385 => 'Molengo:regular&subset=latin,latin-ext',
        386 => 'Molle:italic&subset=latin,latin-ext',
        387 => 'Monda:regular,700&subset=latin,latin-ext',
        388 => 'Monofett:regular&subset=latin',
        389 => 'Monoton:regular&subset=latin',
        390 => 'Monsieur+La+Doulaise:regular&subset=latin,latin-ext',
        391 => 'Montaga:regular&subset=latin',
        392 => 'Montez:regular&subset=latin',
        393 => 'Montserrat:regular,700&subset=latin',
        394 => 'Montserrat+Alternates:regular,700&subset=latin',
        395 => 'Montserrat+Subrayada:regular,700&subset=latin',
        396 => 'Moul:regular&subset=khmer',
        397 => 'Moulpali:regular&subset=khmer',
        398 => 'Mountains+of+Christmas:regular,700&subset=latin',
        399 => 'Mouse+Memoirs:regular&subset=latin,latin-ext',
        400 => 'Mr+Bedfort:regular&subset=latin,latin-ext',
        401 => 'Mr+Dafoe:regular&subset=latin,latin-ext',
        402 => 'Mr+De+Haviland:regular&subset=latin,latin-ext',
        403 => 'Mrs+Saint+Delafield:regular&subset=latin,latin-ext',
        404 => 'Mrs+Sheppards:regular&subset=latin,latin-ext',
        405 => 'Muli:300,300italic,regular,italic&subset=latin',
        406 => 'Mystery+Quest:regular&subset=latin,latin-ext',
        407 => 'Neucha:regular&subset=latin,cyrillic',
        408 => 'Neuton:200,300,regular,italic,700,800&subset=latin,latin-ext',
        409 => 'New+Rocker:regular&subset=latin,latin-ext',
        410 => 'News+Cycle:regular,700&subset=latin,latin-ext',
        411 => 'Niconne:regular&subset=latin,latin-ext',
        412 => 'Nixie+One:regular&subset=latin',
        413 => 'Nobile:regular,italic,700,700italic&subset=latin',
        414 => 'Nokora:regular,700&subset=khmer',
        415 => 'Norican:regular&subset=latin,latin-ext',
        416 => 'Nosifer:regular&subset=latin,latin-ext',
        417 => 'Nothing+You+Could+Do:regular&subset=latin',
        418 => 'Noticia+Text:regular,italic,700,700italic&subset=latin,latin-ext,vietnamese',
        419 => 'Noto+Sans:regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        420 => 'Noto+Serif:regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        421 => 'Nova+Cut:regular&subset=latin',
        422 => 'Nova+Flat:regular&subset=latin',
        423 => 'Nova+Mono:regular&subset=greek,latin',
        424 => 'Nova+Oval:regular&subset=latin',
        425 => 'Nova+Round:regular&subset=latin',
        426 => 'Nova+Script:regular&subset=latin',
        427 => 'Nova+Slim:regular&subset=latin',
        428 => 'Nova+Square:regular&subset=latin',
        429 => 'Numans:regular&subset=latin',
        430 => 'Nunito:300,regular,700&subset=latin',
        431 => 'Odor+Mean+Chey:regular&subset=khmer',
        432 => 'Offside:regular&subset=latin',
        433 => 'Old+Standard+TT:regular,italic,700&subset=latin',
        434 => 'Oldenburg:regular&subset=latin,latin-ext',
        435 => 'Oleo+Script:regular,700&subset=latin,latin-ext',
        436 => 'Oleo+Script+Swash+Caps:regular,700&subset=latin,latin-ext',
        437 => 'Open+Sans:300,300italic,regular,italic,600,600italic,700,700italic,800,800italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        438 => 'Open+Sans+Condensed:300,300italic,700&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        439 => 'Oranienbaum:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        440 => 'Orbitron:regular,500,700,900&subset=latin',
        441 => 'Oregano:regular,italic&subset=latin,latin-ext',
        442 => 'Orienta:regular&subset=latin,latin-ext',
        443 => 'Original+Surfer:regular&subset=latin',
        444 => 'Oswald:300,regular,700&subset=latin,latin-ext',
        445 => 'Over+the+Rainbow:regular&subset=latin',
        446 => 'Overlock:regular,italic,700,700italic,900,900italic&subset=latin,latin-ext',
        447 => 'Overlock+SC:regular&subset=latin,latin-ext',
        448 => 'Ovo:regular&subset=latin',
        449 => 'Oxygen:300,regular,700&subset=latin,latin-ext',
        450 => 'Oxygen+Mono:regular&subset=latin,latin-ext',
        451 => 'PT+Mono:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        452 => 'PT+Sans:regular,italic,700,700italic&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        453 => 'PT+Sans+Caption:regular,700&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        454 => 'PT+Sans+Narrow:regular,700&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        455 => 'PT+Serif:regular,italic,700,700italic&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        456 => 'PT+Serif+Caption:regular,italic&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        457 => 'Pacifico:regular&subset=latin',
        458 => 'Paprika:regular&subset=latin',
        459 => 'Parisienne:regular&subset=latin,latin-ext',
        460 => 'Passero+One:regular&subset=latin,latin-ext',
        461 => 'Passion+One:regular,700,900&subset=latin,latin-ext',
        462 => 'Pathway+Gothic+One:regular&subset=latin,latin-ext',
        463 => 'Patrick+Hand:regular&subset=latin,latin-ext,vietnamese',
        464 => 'Patrick+Hand+SC:regular&subset=latin,latin-ext,vietnamese',
        465 => 'Patua+One:regular&subset=latin',
        466 => 'Paytone+One:regular&subset=latin',
        467 => 'Peralta:regular&subset=latin,latin-ext',
        468 => 'Permanent+Marker:regular&subset=latin',
        469 => 'Petit+Formal+Script:regular&subset=latin,latin-ext',
        470 => 'Petrona:regular&subset=latin',
        471 => 'Philosopher:regular,italic,700,700italic&subset=latin,cyrillic',
        472 => 'Piedra:regular&subset=latin,latin-ext',
        473 => 'Pinyon+Script:regular&subset=latin',
        474 => 'Pirata+One:regular&subset=latin,latin-ext',
        475 => 'Plaster:regular&subset=latin,latin-ext',
        476 => 'Play:regular,700&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        477 => 'Playball:regular&subset=latin,latin-ext',
        478 => 'Playfair+Display:regular,italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic',
        479 => 'Playfair+Display+SC:regular,italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic',
        480 => 'Podkova:regular,700&subset=latin',
        481 => 'Poiret+One:regular&subset=latin,latin-ext,cyrillic',
        482 => 'Poller+One:regular&subset=latin',
        483 => 'Poly:regular,italic&subset=latin',
        484 => 'Pompiere:regular&subset=latin',
        485 => 'Pontano+Sans:regular&subset=latin,latin-ext',
        486 => 'Port+Lligat+Sans:regular&subset=latin',
        487 => 'Port+Lligat+Slab:regular&subset=latin',
        488 => 'Prata:regular&subset=latin',
        489 => 'Preahvihear:regular&subset=khmer',
        490 => 'Press+Start+2P:regular&subset=greek,latin,latin-ext,cyrillic',
        491 => 'Princess+Sofia:regular&subset=latin,latin-ext',
        492 => 'Prociono:regular&subset=latin',
        493 => 'Prosto+One:regular&subset=latin,latin-ext,cyrillic',
        494 => 'Puritan:regular,italic,700,700italic&subset=latin',
        495 => 'Purple+Purse:regular&subset=latin,latin-ext',
        496 => 'Quando:regular&subset=latin,latin-ext',
        497 => 'Quantico:regular,italic,700,700italic&subset=latin',
        498 => 'Quattrocento:regular,700&subset=latin,latin-ext',
        499 => 'Quattrocento+Sans:regular,italic,700,700italic&subset=latin,latin-ext',
        500 => 'Questrial:regular&subset=latin',
        501 => 'Quicksand:300,regular,700&subset=latin',
        502 => 'Quintessential:regular&subset=latin,latin-ext',
        503 => 'Qwigley:regular&subset=latin,latin-ext',
        504 => 'Racing+Sans+One:regular&subset=latin,latin-ext',
        505 => 'Radley:regular,italic&subset=latin,latin-ext',
        506 => 'Raleway:100,200,300,regular,500,600,700,800,900&subset=latin',
        507 => 'Raleway+Dots:regular&subset=latin,latin-ext',
        508 => 'Rambla:regular,italic,700,700italic&subset=latin,latin-ext',
        509 => 'Rammetto+One:regular&subset=latin,latin-ext',
        510 => 'Ranchers:regular&subset=latin,latin-ext',
        511 => 'Rancho:regular&subset=latin',
        512 => 'Rationale:regular&subset=latin',
        513 => 'Redressed:regular&subset=latin',
        514 => 'Reenie+Beanie:regular&subset=latin',
        515 => 'Revalia:regular&subset=latin,latin-ext',
        516 => 'Ribeye:regular&subset=latin,latin-ext',
        517 => 'Ribeye+Marrow:regular&subset=latin,latin-ext',
        518 => 'Righteous:regular&subset=latin,latin-ext',
        519 => 'Risque:regular&subset=latin,latin-ext',
        520 => 'Roboto:100,100italic,300,300italic,regular,italic,500,500italic,700,700italic,900,900italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        521 => 'Roboto+Condensed:300,300italic,regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        522 => 'Roboto+Slab:100,300,regular,700&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic,vietnamese',
        523 => 'Rochester:regular&subset=latin',
        524 => 'Rock+Salt:regular&subset=latin',
        525 => 'Rokkitt:regular,700&subset=latin',
        526 => 'Romanesco:regular&subset=latin,latin-ext',
        527 => 'Ropa+Sans:regular,italic&subset=latin,latin-ext',
        528 => 'Rosario:regular,italic,700,700italic&subset=latin',
        529 => 'Rosarivo:regular,italic&subset=latin,latin-ext',
        530 => 'Rouge+Script:regular&subset=latin',
        531 => 'Ruda:regular,700,900&subset=latin,latin-ext',
        532 => 'Rufina:regular,700&subset=latin,latin-ext',
        533 => 'Ruge+Boogie:regular&subset=latin,latin-ext',
        534 => 'Ruluko:regular&subset=latin,latin-ext',
        535 => 'Rum+Raisin:regular&subset=latin,latin-ext',
        536 => 'Ruslan+Display:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        537 => 'Russo+One:regular&subset=latin,latin-ext,cyrillic',
        538 => 'Ruthie:regular&subset=latin,latin-ext',
        539 => 'Rye:regular&subset=latin,latin-ext',
        540 => 'Sacramento:regular&subset=latin,latin-ext',
        541 => 'Sail:regular&subset=latin',
        542 => 'Salsa:regular&subset=latin',
        543 => 'Sanchez:regular,italic&subset=latin,latin-ext',
        544 => 'Sancreek:regular&subset=latin,latin-ext',
        545 => 'Sansita+One:regular&subset=latin',
        546 => 'Sarina:regular&subset=latin,latin-ext',
        547 => 'Satisfy:regular&subset=latin',
        548 => 'Scada:regular,italic,700,700italic&subset=latin,latin-ext,cyrillic',
        549 => 'Schoolbell:regular&subset=latin',
        550 => 'Seaweed+Script:regular&subset=latin,latin-ext',
        551 => 'Sevillana:regular&subset=latin,latin-ext',
        552 => 'Seymour+One:regular&subset=latin,latin-ext,cyrillic',
        553 => 'Shadows+Into+Light:regular&subset=latin',
        554 => 'Shadows+Into+Light+Two:regular&subset=latin,latin-ext',
        555 => 'Shanti:regular&subset=latin',
        556 => 'Share:regular,italic,700,700italic&subset=latin,latin-ext',
        557 => 'Share+Tech:regular&subset=latin',
        558 => 'Share+Tech+Mono:regular&subset=latin',
        559 => 'Shojumaru:regular&subset=latin,latin-ext',
        560 => 'Short+Stack:regular&subset=latin',
        561 => 'Siemreap:regular&subset=khmer',
        562 => 'Sigmar+One:regular&subset=latin',
        563 => 'Signika:300,regular,600,700&subset=latin,latin-ext',
        564 => 'Signika+Negative:300,regular,600,700&subset=latin,latin-ext',
        565 => 'Simonetta:regular,italic,900,900italic&subset=latin,latin-ext',
        566 => 'Sintony:regular,700&subset=latin,latin-ext',
        567 => 'Sirin+Stencil:regular&subset=latin',
        568 => 'Six+Caps:regular&subset=latin',
        569 => 'Skranji:regular,700&subset=latin,latin-ext',
        570 => 'Slackey:regular&subset=latin',
        571 => 'Smokum:regular&subset=latin',
        572 => 'Smythe:regular&subset=latin',
        573 => 'Sniglet:800&subset=latin',
        574 => 'Snippet:regular&subset=latin',
        575 => 'Snowburst+One:regular&subset=latin,latin-ext',
        576 => 'Sofadi+One:regular&subset=latin',
        577 => 'Sofia:regular&subset=latin',
        578 => 'Sonsie+One:regular&subset=latin,latin-ext',
        579 => 'Sorts+Mill+Goudy:regular,italic&subset=latin,latin-ext',
        580 => 'Source+Code+Pro:200,300,regular,500,600,700,900&subset=latin,latin-ext',
        581 => 'Source+Sans+Pro:200,200italic,300,300italic,regular,italic,600,600italic,700,700italic,900,900italic&subset=latin,latin-ext',
        582 => 'Special+Elite:regular&subset=latin',
        583 => 'Spicy+Rice:regular&subset=latin',
        584 => 'Spinnaker:regular&subset=latin,latin-ext',
        585 => 'Spirax:regular&subset=latin',
        586 => 'Squada+One:regular&subset=latin',
        587 => 'Stalemate:regular&subset=latin,latin-ext',
        588 => 'Stalinist+One:regular&subset=latin,latin-ext,cyrillic',
        589 => 'Stardos+Stencil:regular,700&subset=latin',
        590 => 'Stint+Ultra+Condensed:regular&subset=latin,latin-ext',
        591 => 'Stint+Ultra+Expanded:regular&subset=latin,latin-ext',
        592 => 'Stoke:300,regular&subset=latin,latin-ext',
        593 => 'Strait:regular&subset=latin',
        594 => 'Sue+Ellen+Francisco:regular&subset=latin',
        595 => 'Sunshiney:regular&subset=latin',
        596 => 'Supermercado+One:regular&subset=latin',
        597 => 'Suwannaphum:regular&subset=khmer',
        598 => 'Swanky+and+Moo+Moo:regular&subset=latin',
        599 => 'Syncopate:regular,700&subset=latin',
        600 => 'Tangerine:regular,700&subset=latin',
        601 => 'Taprom:regular&subset=khmer',
        602 => 'Tauri:regular&subset=latin,latin-ext',
        603 => 'Telex:regular&subset=latin',
        604 => 'Tenor+Sans:regular&subset=cyrillic-ext,latin,latin-ext,cyrillic',
        605 => 'Text+Me+One:regular&subset=latin,latin-ext',
        606 => 'The+Girl+Next+Door:regular&subset=latin',
        607 => 'Tienne:regular,700,900&subset=latin',
        608 => 'Tinos:regular,italic,700,700italic&subset=latin',
        609 => 'Titan+One:regular&subset=latin,latin-ext',
        610 => 'Titillium+Web:200,200italic,300,300italic,regular,italic,600,600italic,700,700italic,900&subset=latin,latin-ext',
        611 => 'Trade+Winds:regular&subset=latin',
        612 => 'Trocchi:regular&subset=latin,latin-ext',
        613 => 'Trochut:regular,italic,700&subset=latin',
        614 => 'Trykker:regular&subset=latin,latin-ext',
        615 => 'Tulpen+One:regular&subset=latin',
        616 => 'Ubuntu:300,300italic,regular,italic,500,500italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        617 => 'Ubuntu+Condensed:regular&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        618 => 'Ubuntu+Mono:regular,italic,700,700italic&subset=greek,cyrillic-ext,latin,greek-ext,latin-ext,cyrillic',
        619 => 'Ultra:regular&subset=latin',
        620 => 'Uncial+Antiqua:regular&subset=latin',
        621 => 'Underdog:regular&subset=latin,latin-ext,cyrillic',
        622 => 'Unica+One:regular&subset=latin,latin-ext',
        623 => 'UnifrakturCook:700&subset=latin',
        624 => 'UnifrakturMaguntia:regular&subset=latin',
        625 => 'Unkempt:regular,700&subset=latin',
        626 => 'Unlock:regular&subset=latin',
        627 => 'Unna:regular&subset=latin',
        628 => 'VT323:regular&subset=latin',
        629 => 'Vampiro+One:regular&subset=latin,latin-ext',
        630 => 'Varela:regular&subset=latin,latin-ext',
        631 => 'Varela+Round:regular&subset=latin',
        632 => 'Vast+Shadow:regular&subset=latin',
        633 => 'Vibur:regular&subset=latin',
        634 => 'Vidaloka:regular&subset=latin',
        635 => 'Viga:regular&subset=latin,latin-ext',
        636 => 'Voces:regular&subset=latin,latin-ext',
        637 => 'Volkhov:regular,italic,700,700italic&subset=latin',
        638 => 'Vollkorn:regular,italic,700,700italic&subset=latin',
        639 => 'Voltaire:regular&subset=latin',
        640 => 'Waiting+for+the+Sunrise:regular&subset=latin',
        641 => 'Wallpoet:regular&subset=latin',
        642 => 'Walter+Turncoat:regular&subset=latin',
        643 => 'Warnes:regular&subset=latin,latin-ext',
        644 => 'Wellfleet:regular&subset=latin,latin-ext',
        645 => 'Wendy+One:regular&subset=latin,latin-ext',
        646 => 'Wire+One:regular&subset=latin',
        647 => 'Yanone+Kaffeesatz:200,300,regular,700&subset=latin,latin-ext',
        648 => 'Yellowtail:regular&subset=latin',
        649 => 'Yeseva+One:regular&subset=latin,latin-ext,cyrillic',
        650 => 'Yesteryear:regular&subset=latin',
        651 => 'Zeyada:regular&subset=latin',
    );


    static $font_names = array (
        '' => 'Default font',
        1 => 'ABeeZee',
        2 => 'Abel',
        3 => 'Abril Fatface',
        4 => 'Aclonica',
        5 => 'Acme',
        6 => 'Actor',
        7 => 'Adamina',
        8 => 'Advent Pro',
        9 => 'Aguafina Script',
        10 => 'Akronim',
        11 => 'Aladin',
        12 => 'Aldrich',
        13 => 'Alef',
        14 => 'Alegreya',
        15 => 'Alegreya SC',
        16 => 'Alex Brush',
        17 => 'Alfa Slab One',
        18 => 'Alice',
        19 => 'Alike',
        20 => 'Alike Angular',
        21 => 'Allan',
        22 => 'Allerta',
        23 => 'Allerta Stencil',
        24 => 'Allura',
        25 => 'Almendra',
        26 => 'Almendra Display',
        27 => 'Almendra SC',
        28 => 'Amarante',
        29 => 'Amaranth',
        30 => 'Amatic SC',
        31 => 'Amethysta',
        32 => 'Anaheim',
        33 => 'Andada',
        34 => 'Andika',
        35 => 'Angkor',
        36 => 'Annie Use Your Telescope',
        37 => 'Anonymous Pro',
        38 => 'Antic',
        39 => 'Antic Didone',
        40 => 'Antic Slab',
        41 => 'Anton',
        42 => 'Arapey',
        43 => 'Arbutus',
        44 => 'Arbutus Slab',
        45 => 'Architects Daughter',
        46 => 'Archivo Black',
        47 => 'Archivo Narrow',
        48 => 'Arimo',
        49 => 'Arizonia',
        50 => 'Armata',
        51 => 'Artifika',
        52 => 'Arvo',
        53 => 'Asap',
        54 => 'Asset',
        55 => 'Astloch',
        56 => 'Asul',
        57 => 'Atomic Age',
        58 => 'Aubrey',
        59 => 'Audiowide',
        60 => 'Autour One',
        61 => 'Average',
        62 => 'Average Sans',
        63 => 'Averia Gruesa Libre',
        64 => 'Averia Libre',
        65 => 'Averia Sans Libre',
        66 => 'Averia Serif Libre',
        67 => 'Bad Script',
        68 => 'Balthazar',
        69 => 'Bangers',
        70 => 'Basic',
        71 => 'Battambang',
        72 => 'Baumans',
        73 => 'Bayon',
        74 => 'Belgrano',
        75 => 'Belleza',
        76 => 'BenchNine',
        77 => 'Bentham',
        78 => 'Berkshire Swash',
        79 => 'Bevan',
        80 => 'Bigelow Rules',
        81 => 'Bigshot One',
        82 => 'Bilbo',
        83 => 'Bilbo Swash Caps',
        84 => 'Bitter',
        85 => 'Black Ops One',
        86 => 'Bokor',
        87 => 'Bonbon',
        88 => 'Boogaloo',
        89 => 'Bowlby One',
        90 => 'Bowlby One SC',
        91 => 'Brawler',
        92 => 'Bree Serif',
        93 => 'Bubblegum Sans',
        94 => 'Bubbler One',
        95 => 'Buda',
        96 => 'Buenard',
        97 => 'Butcherman',
        98 => 'Butterfly Kids',
        99 => 'Cabin',
        100 => 'Cabin Condensed',
        101 => 'Cabin Sketch',
        102 => 'Caesar Dressing',
        103 => 'Cagliostro',
        104 => 'Calligraffitti',
        105 => 'Cambo',
        106 => 'Candal',
        107 => 'Cantarell',
        108 => 'Cantata One',
        109 => 'Cantora One',
        110 => 'Capriola',
        111 => 'Cardo',
        112 => 'Carme',
        113 => 'Carrois Gothic',
        114 => 'Carrois Gothic SC',
        115 => 'Carter One',
        116 => 'Caudex',
        117 => 'Cedarville Cursive',
        118 => 'Ceviche One',
        119 => 'Changa One',
        120 => 'Chango',
        121 => 'Chau Philomene One',
        122 => 'Chela One',
        123 => 'Chelsea Market',
        124 => 'Chenla',
        125 => 'Cherry Cream Soda',
        126 => 'Cherry Swash',
        127 => 'Chewy',
        128 => 'Chicle',
        129 => 'Chivo',
        130 => 'Cinzel',
        131 => 'Cinzel Decorative',
        132 => 'Clicker Script',
        133 => 'Coda',
        134 => 'Coda Caption',
        135 => 'Codystar',
        136 => 'Combo',
        137 => 'Comfortaa',
        138 => 'Coming Soon',
        139 => 'Concert One',
        140 => 'Condiment',
        141 => 'Content',
        142 => 'Contrail One',
        143 => 'Convergence',
        144 => 'Cookie',
        145 => 'Copse',
        146 => 'Corben',
        147 => 'Courgette',
        148 => 'Cousine',
        149 => 'Coustard',
        150 => 'Covered By Your Grace',
        151 => 'Crafty Girls',
        152 => 'Creepster',
        153 => 'Crete Round',
        154 => 'Crimson Text',
        155 => 'Croissant One',
        156 => 'Crushed',
        157 => 'Cuprum',
        158 => 'Cutive',
        159 => 'Cutive Mono',
        160 => 'Damion',
        161 => 'Dancing Script',
        162 => 'Dangrek',
        163 => 'Dawning of a New Day',
        164 => 'Days One',
        165 => 'Delius',
        166 => 'Delius Swash Caps',
        167 => 'Delius Unicase',
        168 => 'Della Respira',
        169 => 'Denk One',
        170 => 'Devonshire',
        171 => 'Didact Gothic',
        172 => 'Diplomata',
        173 => 'Diplomata SC',
        174 => 'Domine',
        175 => 'Donegal One',
        176 => 'Doppio One',
        177 => 'Dorsa',
        178 => 'Dosis',
        179 => 'Dr Sugiyama',
        180 => 'Droid Sans',
        181 => 'Droid Sans Mono',
        182 => 'Droid Serif',
        183 => 'Duru Sans',
        184 => 'Dynalight',
        185 => 'EB Garamond',
        186 => 'Eagle Lake',
        187 => 'Eater',
        188 => 'Economica',
        189 => 'Electrolize',
        190 => 'Elsie',
        191 => 'Elsie Swash Caps',
        192 => 'Emblema One',
        193 => 'Emilys Candy',
        194 => 'Engagement',
        195 => 'Englebert',
        196 => 'Enriqueta',
        197 => 'Erica One',
        198 => 'Esteban',
        199 => 'Euphoria Script',
        200 => 'Ewert',
        201 => 'Exo',
        202 => 'Expletus Sans',
        203 => 'Fanwood Text',
        204 => 'Fascinate',
        205 => 'Fascinate Inline',
        206 => 'Faster One',
        207 => 'Fasthand',
        208 => 'Fauna One',
        209 => 'Federant',
        210 => 'Federo',
        211 => 'Felipa',
        212 => 'Fenix',
        213 => 'Finger Paint',
        214 => 'Fjalla One',
        215 => 'Fjord One',
        216 => 'Flamenco',
        217 => 'Flavors',
        218 => 'Fondamento',
        219 => 'Fontdiner Swanky',
        220 => 'Forum',
        221 => 'Francois One',
        222 => 'Freckle Face',
        223 => 'Fredericka the Great',
        224 => 'Fredoka One',
        225 => 'Freehand',
        226 => 'Fresca',
        227 => 'Frijole',
        228 => 'Fruktur',
        229 => 'Fugaz One',
        230 => 'GFS Didot',
        231 => 'GFS Neohellenic',
        232 => 'Gabriela',
        233 => 'Gafata',
        234 => 'Galdeano',
        235 => 'Galindo',
        236 => 'Gentium Basic',
        237 => 'Gentium Book Basic',
        238 => 'Geo',
        239 => 'Geostar',
        240 => 'Geostar Fill',
        241 => 'Germania One',
        242 => 'Gilda Display',
        243 => 'Give You Glory',
        244 => 'Glass Antiqua',
        245 => 'Glegoo',
        246 => 'Gloria Hallelujah',
        247 => 'Goblin One',
        248 => 'Gochi Hand',
        249 => 'Gorditas',
        250 => 'Goudy Bookletter 1911',
        251 => 'Graduate',
        252 => 'Grand Hotel',
        253 => 'Gravitas One',
        254 => 'Great Vibes',
        255 => 'Griffy',
        256 => 'Gruppo',
        257 => 'Gudea',
        258 => 'Habibi',
        259 => 'Hammersmith One',
        260 => 'Hanalei',
        261 => 'Hanalei Fill',
        262 => 'Handlee',
        263 => 'Hanuman',
        264 => 'Happy Monkey',
        265 => 'Headland One',
        266 => 'Henny Penny',
        267 => 'Herr Von Muellerhoff',
        268 => 'Holtwood One SC',
        269 => 'Homemade Apple',
        270 => 'Homenaje',
        271 => 'IM Fell DW Pica',
        272 => 'IM Fell DW Pica SC',
        273 => 'IM Fell Double Pica',
        274 => 'IM Fell Double Pica SC',
        275 => 'IM Fell English',
        276 => 'IM Fell English SC',
        277 => 'IM Fell French Canon',
        278 => 'IM Fell French Canon SC',
        279 => 'IM Fell Great Primer',
        280 => 'IM Fell Great Primer SC',
        281 => 'Iceberg',
        282 => 'Iceland',
        283 => 'Imprima',
        284 => 'Inconsolata',
        285 => 'Inder',
        286 => 'Indie Flower',
        287 => 'Inika',
        288 => 'Irish Grover',
        289 => 'Istok Web',
        290 => 'Italiana',
        291 => 'Italianno',
        292 => 'Jacques Francois',
        293 => 'Jacques Francois Shadow',
        294 => 'Jim Nightshade',
        295 => 'Jockey One',
        296 => 'Jolly Lodger',
        297 => 'Josefin Sans',
        298 => 'Josefin Slab',
        299 => 'Joti One',
        300 => 'Judson',
        301 => 'Julee',
        302 => 'Julius Sans One',
        303 => 'Junge',
        304 => 'Jura',
        305 => 'Just Another Hand',
        306 => 'Just Me Again Down Here',
        307 => 'Kameron',
        308 => 'Karla',
        309 => 'Kaushan Script',
        310 => 'Kavoon',
        311 => 'Keania One',
        312 => 'Kelly Slab',
        313 => 'Kenia',
        314 => 'Khmer',
        315 => 'Kite One',
        316 => 'Knewave',
        317 => 'Kotta One',
        318 => 'Koulen',
        319 => 'Kranky',
        320 => 'Kreon',
        321 => 'Kristi',
        322 => 'Krona One',
        323 => 'La Belle Aurore',
        324 => 'Lancelot',
        325 => 'Lato',
        326 => 'League Script',
        327 => 'Leckerli One',
        328 => 'Ledger',
        329 => 'Lekton',
        330 => 'Lemon',
        331 => 'Libre Baskerville',
        332 => 'Life Savers',
        333 => 'Lilita One',
        334 => 'Lily Script One',
        335 => 'Limelight',
        336 => 'Linden Hill',
        337 => 'Lobster',
        338 => 'Lobster Two',
        339 => 'Londrina Outline',
        340 => 'Londrina Shadow',
        341 => 'Londrina Sketch',
        342 => 'Londrina Solid',
        343 => 'Lora',
        344 => 'Love Ya Like A Sister',
        345 => 'Loved by the King',
        346 => 'Lovers Quarrel',
        347 => 'Luckiest Guy',
        348 => 'Lusitana',
        349 => 'Lustria',
        350 => 'Macondo',
        351 => 'Macondo Swash Caps',
        352 => 'Magra',
        353 => 'Maiden Orange',
        354 => 'Mako',
        355 => 'Marcellus',
        356 => 'Marcellus SC',
        357 => 'Marck Script',
        358 => 'Margarine',
        359 => 'Marko One',
        360 => 'Marmelad',
        361 => 'Marvel',
        362 => 'Mate',
        363 => 'Mate SC',
        364 => 'Maven Pro',
        365 => 'McLaren',
        366 => 'Meddon',
        367 => 'MedievalSharp',
        368 => 'Medula One',
        369 => 'Megrim',
        370 => 'Meie Script',
        371 => 'Merienda',
        372 => 'Merienda One',
        373 => 'Merriweather',
        374 => 'Merriweather Sans',
        375 => 'Metal',
        376 => 'Metal Mania',
        377 => 'Metamorphous',
        378 => 'Metrophobic',
        379 => 'Michroma',
        380 => 'Milonga',
        381 => 'Miltonian',
        382 => 'Miltonian Tattoo',
        383 => 'Miniver',
        384 => 'Miss Fajardose',
        385 => 'Modern Antiqua',
        386 => 'Molengo',
        387 => 'Molle',
        388 => 'Monda',
        389 => 'Monofett',
        390 => 'Monoton',
        391 => 'Monsieur La Doulaise',
        392 => 'Montaga',
        393 => 'Montez',
        394 => 'Montserrat',
        395 => 'Montserrat Alternates',
        396 => 'Montserrat Subrayada',
        397 => 'Moul',
        398 => 'Moulpali',
        399 => 'Mountains of Christmas',
        400 => 'Mouse Memoirs',
        401 => 'Mr Bedfort',
        402 => 'Mr Dafoe',
        403 => 'Mr De Haviland',
        404 => 'Mrs Saint Delafield',
        405 => 'Mrs Sheppards',
        406 => 'Muli',
        407 => 'Mystery Quest',
        408 => 'Neucha',
        409 => 'Neuton',
        410 => 'New Rocker',
        411 => 'News Cycle',
        412 => 'Niconne',
        413 => 'Nixie One',
        414 => 'Nobile',
        415 => 'Nokora',
        416 => 'Norican',
        417 => 'Nosifer',
        418 => 'Nothing You Could Do',
        419 => 'Noticia Text',
        420 => 'Noto Sans',
        421 => 'Noto Serif',
        422 => 'Nova Cut',
        423 => 'Nova Flat',
        424 => 'Nova Mono',
        425 => 'Nova Oval',
        426 => 'Nova Round',
        427 => 'Nova Script',
        428 => 'Nova Slim',
        429 => 'Nova Square',
        430 => 'Numans',
        431 => 'Nunito',
        432 => 'Odor Mean Chey',
        433 => 'Offside',
        434 => 'Old Standard TT',
        435 => 'Oldenburg',
        436 => 'Oleo Script',
        437 => 'Oleo Script Swash Caps',
        438 => 'Open Sans',
        439 => 'Open Sans Condensed',
        440 => 'Oranienbaum',
        441 => 'Orbitron',
        442 => 'Oregano',
        443 => 'Orienta',
        444 => 'Original Surfer',
        445 => 'Oswald',
        446 => 'Over the Rainbow',
        447 => 'Overlock',
        448 => 'Overlock SC',
        449 => 'Ovo',
        450 => 'Oxygen',
        451 => 'Oxygen Mono',
        452 => 'PT Mono',
        453 => 'PT Sans',
        454 => 'PT Sans Caption',
        455 => 'PT Sans Narrow',
        456 => 'PT Serif',
        457 => 'PT Serif Caption',
        458 => 'Pacifico',
        459 => 'Paprika',
        460 => 'Parisienne',
        461 => 'Passero One',
        462 => 'Passion One',
        463 => 'Pathway Gothic One',
        464 => 'Patrick Hand',
        465 => 'Patrick Hand SC',
        466 => 'Patua One',
        467 => 'Paytone One',
        468 => 'Peralta',
        469 => 'Permanent Marker',
        470 => 'Petit Formal Script',
        471 => 'Petrona',
        472 => 'Philosopher',
        473 => 'Piedra',
        474 => 'Pinyon Script',
        475 => 'Pirata One',
        476 => 'Plaster',
        477 => 'Play',
        478 => 'Playball',
        479 => 'Playfair Display',
        480 => 'Playfair Display SC',
        481 => 'Podkova',
        482 => 'Poiret One',
        483 => 'Poller One',
        484 => 'Poly',
        485 => 'Pompiere',
        486 => 'Pontano Sans',
        487 => 'Port Lligat Sans',
        488 => 'Port Lligat Slab',
        489 => 'Prata',
        490 => 'Preahvihear',
        491 => 'Press Start 2P',
        492 => 'Princess Sofia',
        493 => 'Prociono',
        494 => 'Prosto One',
        495 => 'Puritan',
        496 => 'Purple Purse',
        497 => 'Quando',
        498 => 'Quantico',
        499 => 'Quattrocento',
        500 => 'Quattrocento Sans',
        501 => 'Questrial',
        502 => 'Quicksand',
        503 => 'Quintessential',
        504 => 'Qwigley',
        505 => 'Racing Sans One',
        506 => 'Radley',
        507 => 'Raleway',
        508 => 'Raleway Dots',
        509 => 'Rambla',
        510 => 'Rammetto One',
        511 => 'Ranchers',
        512 => 'Rancho',
        513 => 'Rationale',
        514 => 'Redressed',
        515 => 'Reenie Beanie',
        516 => 'Revalia',
        517 => 'Ribeye',
        518 => 'Ribeye Marrow',
        519 => 'Righteous',
        520 => 'Risque',
        521 => 'Roboto',
        522 => 'Roboto Condensed',
        523 => 'Roboto Slab',
        524 => 'Rochester',
        525 => 'Rock Salt',
        526 => 'Rokkitt',
        527 => 'Romanesco',
        528 => 'Ropa Sans',
        529 => 'Rosario',
        530 => 'Rosarivo',
        531 => 'Rouge Script',
        532 => 'Ruda',
        533 => 'Rufina',
        534 => 'Ruge Boogie',
        535 => 'Ruluko',
        536 => 'Rum Raisin',
        537 => 'Ruslan Display',
        538 => 'Russo One',
        539 => 'Ruthie',
        540 => 'Rye',
        541 => 'Sacramento',
        542 => 'Sail',
        543 => 'Salsa',
        544 => 'Sanchez',
        545 => 'Sancreek',
        546 => 'Sansita One',
        547 => 'Sarina',
        548 => 'Satisfy',
        549 => 'Scada',
        550 => 'Schoolbell',
        551 => 'Seaweed Script',
        552 => 'Sevillana',
        553 => 'Seymour One',
        554 => 'Shadows Into Light',
        555 => 'Shadows Into Light Two',
        556 => 'Shanti',
        557 => 'Share',
        558 => 'Share Tech',
        559 => 'Share Tech Mono',
        560 => 'Shojumaru',
        561 => 'Short Stack',
        562 => 'Siemreap',
        563 => 'Sigmar One',
        564 => 'Signika',
        565 => 'Signika Negative',
        566 => 'Simonetta',
        567 => 'Sintony',
        568 => 'Sirin Stencil',
        569 => 'Six Caps',
        570 => 'Skranji',
        571 => 'Slackey',
        572 => 'Smokum',
        573 => 'Smythe',
        574 => 'Sniglet',
        575 => 'Snippet',
        576 => 'Snowburst One',
        577 => 'Sofadi One',
        578 => 'Sofia',
        579 => 'Sonsie One',
        580 => 'Sorts Mill Goudy',
        581 => 'Source Code Pro',
        582 => 'Source Sans Pro',
        583 => 'Special Elite',
        584 => 'Spicy Rice',
        585 => 'Spinnaker',
        586 => 'Spirax',
        587 => 'Squada One',
        588 => 'Stalemate',
        589 => 'Stalinist One',
        590 => 'Stardos Stencil',
        591 => 'Stint Ultra Condensed',
        592 => 'Stint Ultra Expanded',
        593 => 'Stoke',
        594 => 'Strait',
        595 => 'Sue Ellen Francisco',
        596 => 'Sunshiney',
        597 => 'Supermercado One',
        598 => 'Suwannaphum',
        599 => 'Swanky and Moo Moo',
        600 => 'Syncopate',
        601 => 'Tangerine',
        602 => 'Taprom',
        603 => 'Tauri',
        604 => 'Telex',
        605 => 'Tenor Sans',
        606 => 'Text Me One',
        607 => 'The Girl Next Door',
        608 => 'Tienne',
        609 => 'Tinos',
        610 => 'Titan One',
        611 => 'Titillium Web',
        612 => 'Trade Winds',
        613 => 'Trocchi',
        614 => 'Trochut',
        615 => 'Trykker',
        616 => 'Tulpen One',
        617 => 'Ubuntu',
        618 => 'Ubuntu Condensed',
        619 => 'Ubuntu Mono',
        620 => 'Ultra',
        621 => 'Uncial Antiqua',
        622 => 'Underdog',
        623 => 'Unica One',
        624 => 'UnifrakturCook',
        625 => 'UnifrakturMaguntia',
        626 => 'Unkempt',
        627 => 'Unlock',
        628 => 'Unna',
        629 => 'VT323',
        630 => 'Vampiro One',
        631 => 'Varela',
        632 => 'Varela Round',
        633 => 'Vast Shadow',
        634 => 'Vibur',
        635 => 'Vidaloka',
        636 => 'Viga',
        637 => 'Voces',
        638 => 'Volkhov',
        639 => 'Vollkorn',
        640 => 'Voltaire',
        641 => 'Waiting for the Sunrise',
        642 => 'Wallpoet',
        643 => 'Walter Turncoat',
        644 => 'Warnes',
        645 => 'Wellfleet',
        646 => 'Wendy One',
        647 => 'Wire One',
        648 => 'Yanone Kaffeesatz',
        649 => 'Yellowtail',
        650 => 'Yeseva One',
        651 => 'Yesteryear',
        652 => 'Zeyada',
    );


    static function add_font_option($font_section_name, $font_section_settings_id) {
        self::$font_sections [$font_section_settings_id] = $font_section_name;
    }

    static function generate_settings(&$td_customizer_settings) {
        foreach(self::$font_sections as $font_section_settings_id => $font_section_name) {
            $td_customizer_settings->add_td_separator($font_section_name, self::$font_section_id);
            $td_customizer_settings->add_select('Font family', $font_section_settings_id . '_font_family', self::$font_names);
            $td_customizer_settings->add_select('Size', $font_section_settings_id . '_font_size', td_google_fonts::get_size_list());
            $td_customizer_settings->add_select('Line height', $font_section_settings_id . '_line_height', td_google_fonts::get_line_height_list());
            self::$font_section_id++;
        }
    }


    public static function css_get_font_family($theme_customizer_setting) {
        $current_font = td_util::get_customizer_option($theme_customizer_setting);
        if (!empty($current_font)) {
            $td_current_font  = self::$font_list[$current_font - 1];

            $current_font_parts = explode(':', $td_current_font);
            if (!empty($current_font_parts[0])) {
                $current_font_parts[0] = str_replace('+', ' ', $current_font_parts[0]);
                return $current_font_parts[0];
            }
        }
        return;
    }


    //for theme customizer
    private static function get_size_list() {
        $buffy[''] = 'Default size';
        for ($i = 10; $i <= 40; $i++) {
            $buffy[$i] = $i . 'px';
        }
        return $buffy;
    }

    //for theme customizer
    private static function get_line_height_list() {
        $buffy[''] = 'Default line height';
        for ($i = 10; $i <= 40; $i++) {
            $buffy[$i] = $i . 'px';
        }
        return $buffy;
    }


    private static function get_font_name($font_query_string) {
        $font_parts = explode(':',$font_query_string);
        return str_replace('+', ' ', $font_parts[0]);
    }









    static function add_google_font($font_id, $font_string) {
        self::$loaded_google_fonts[$font_id] = $font_string;
    }





    /*
     * hook init to add the google fonts css
     */
    static function td_init_google_fonts_css() {
        if (is_admin()) {
            return;
        }


        $list_of_fonts = array();


        foreach(self::$font_sections as $font_section_settings_id => $font_section_name) {
            $current_font_setting = td_util::get_customizer_option($font_section_settings_id . '_font_family');



            if (!empty($current_font_setting)) {
                $td_current_font  = self::$font_list[$current_font_setting - 1];
                if (empty($list_of_fonts[$td_current_font])) {
                    $list_of_fonts[$td_current_font] = true;
                    wp_enqueue_style('g-font-custom-' . $font_section_settings_id, 'http://fonts.googleapis.com/css?family=' . htmlspecialchars($td_current_font)); //used on menus/small text
                }

            }
        }
    }

    static function hook_init() {
        add_filter('init', array(__CLASS__, 'td_init_google_fonts_css'));
    }
}

td_google_fonts::add_font_option('Content font', 'content');
td_google_fonts::add_font_option('Menu font', 'menu');
td_google_fonts::add_font_option('Top Menu font', 'top_menu');
td_google_fonts::add_font_option('Big slide main font', 'big_slide_main');
td_google_fonts::add_font_option('Big slide small font', 'big_slide_sec');
td_google_fonts::add_font_option('Normal slide font', 'normal_slide');
td_google_fonts::add_font_option('Widgets title font', 'widget_title');
td_google_fonts::add_font_option('Widgets article big title font', 'widget_art_big_title');
td_google_fonts::add_font_option('Widgets article small title font', 'widget_art_small_title');
td_google_fonts::add_font_option('Post and Page title font', 'post_title');
td_google_fonts::add_font_option('Tabs font', 'tabs_title');

td_google_fonts::hook_init();